package com.toe.forum.service;

import com.toe.common.restful.JsonPage;
import com.toe.pojo.dto.forum.CategoryAddDTO;
import com.toe.pojo.dto.forum.CategoryUpdateDTO;
import com.toe.pojo.entity.forum.ForumCategory;
import com.baomidou.mybatisplus.extension.service.IService;
import com.toe.pojo.vo.forum.CategoryVO;
import java.util.List;
/**
 * <p>
 * 文章分类表 服务类
 * </p>
 *
 * @author 陶涛
 * @since 2022-07-19
 */
public interface ForumCategoryService extends IService<ForumCategory> {

    /**
     * 添加文章分类
     * @param categoryAddDTO
     * @return
     */
    void addCategory(CategoryAddDTO categoryAddDTO);

    /**
     * 删除文章分类 通过Id
     * @param id
     */
    void deleteCategoryById(Long id);

    /**
     * 修改文章分类,通过Id
     * @param categoryUpdateDTO
     */
    void updateCategoryById(CategoryUpdateDTO categoryUpdateDTO);

    /**
     * 查询所有的分类
     * @return
     */
    List<CategoryVO> selectCategoryList();

    /**
     * 分页查询文章的分类
     * @param pageNum 查询第几页
     * @param pageSize 查询的每页数量
     * @return
     */
    JsonPage<CategoryVO> selectCategoryList(Integer pageNum, Integer pageSize);

    /**
     * 通过id查询对应的文章分类
     * @param id
     * @return
     */
    CategoryVO selectCategoryById(long id);

}
